package main

import (
	"fmt"
	"io"
	"log"
	"os"
)

func main() {
	/*
		Seek(offset int64, whence int) (int64, error)，设置指针光标的位置
			第一个参数：偏移量
			第二个参数：如何设置
				0: SeekStart, 表示相对于文件开始
				1: SeekCurrent, 表示相对于当前位置的偏移量
				2: SeekEnd, 表示相对于文件末尾
	*/
	fileName := "E:/代码文件/灰太狼/狼堡.txt"
	file, err := os.OpenFile(fileName, os.O_RDWR, os.ModePerm)
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()
	//读写
	bs := []byte{0, 1, 2}
	file.Read(bs)
	fmt.Println(string(bs))

	file.Seek(9, io.SeekStart)
	file.Read(bs)
	fmt.Println(string(bs))

	file.Seek(6, 0) //SeekStart
	file.Read(bs)
	fmt.Println(string(bs))

	file.Seek(6, 1) //SeekCurrent
	file.Read(bs)
	fmt.Println(string(bs))

	file.Seek(0, io.SeekEnd) //2
	file.WriteString("\n喜羊羊最帅啦！！！")
}
